package com.mida.bms.report.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.mida.tool.common.utils.LongToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 结构化模板基本信息_0.0
 */
@ApiModel(value = "结构化模板基本信息")
@Data
public class DocStructTemplateInfo implements Serializable {
    /**
     * 结构化模板基本信息标识
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "结构化模板基本信息标识")
    private Long stTemplateInfoSoid;

    /**
     * 报告模板描述信息
     */
    @ApiModelProperty(value = "报告模板描述信息")
    private String stTemplateDesc;

    /**
     * 版本
     */
    @ApiModelProperty(value = "版本")
    private String verson;

    /**
     * 报告模板名称
     */
    @ApiModelProperty(value = "报告模板名称")
    private String stTemplateName;

    /**
     * 五笔
     */
    @ApiModelProperty(value = "五笔")
    private String wbCode;

    /**
     * 拼音
     */
    @ApiModelProperty(value = "拼音")
    private String pyCode;

    /**
     * 结构化报告模板授权空间关系标识
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "结构化报告模板授权空间关系标识")
    private Long stTempAuthSoid;

    /**
     * 状态
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "状态")
    private Long status;

    /**
     * 检查服务类型
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "检查服务类型")
    private Long examServiceType;

    /**
     * 最后修改人
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "最后修改人")
    private Long updateUser;

    /**
     * 逻辑删除标识
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "逻辑删除标识")
    private Long isDelete;

    /**
     * 结构化模板定义空间标识
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "结构化模板定义空间标识")
    private Long stTempDefineSoid;

    /**
     * 最后修改日期
     */
    @ApiModelProperty(value = "最后修改日期")
    private Date updateDate;

    /**
     * 创建日期
     */
    @ApiModelProperty(value = "创建日期")
    private Date createDate;

    /**
     * 报告等级
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "报告等级")
    private Long reportLevel;

    /**
     * 阴阳性
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @ApiModelProperty(value = "阴阳性")
    private Long negativePositive;

    /**
     * 定义空间
     */
    private String stTempDefineName;

    /**
     * 授权空间
     */
    private String stTempAuthName;

    /**
     * 检查服务类型
     */
    private String examServiceTypeName;

    /**
     * 状态
     */
    private String statusName;

    /**
     * 模板缩略图url地址
     */
    private String imagePathUrl;


    private String stTempAuthSoids;

    /**
     * 诊断
     */
    private List<String> diagnosisSoid;

    /**
     * 疾病分类
     */
    private List<String> diseaseClass;

    /**
     * 部位
     */
    private List<String> examParts;

    /**
     * 授权空间soid
     */
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    private Long stTempAuthSpSoid;

    private static final long serialVersionUID = 1L;
}